/*
    通用http 应答错误处理
* */

export class HttpError{
    constructor(){

    }
    install( vm ){
        if( !vm.prototype["$httpError"] ){
            vm.prototype["$httpError"] = new HttpError();
        }
    }

    //响应状态码
    checkResStatus( data , fn ,vm ){
        
        switch( data.code ){
            case 400002: 
                fn().account = data.msg; 
                vm.$(".account-input").focus();
                break; //邮箱校验错误处理
            case 400003:  
                fn().password = data.msg;
                vm.$(".password-input").focus();
                break; //密码校验错误处理
            case 400004: 
                fn().account = data.msg;
                vm.$(".account-input").focus();
                break;
            case 400012:
                fn(); //用户token失效，但未安全退出
                break;
            default:
                // console.log("router: ", vm.$router );
                //接口请求相互冲突，避免重复调用路由接口
                if( vm.$router.currentRoute.path == '/' ) return ;
                vm.$router.replace("/");
        }
    }
}

